﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections.Specialized;
using System.Data;
using Util;
using Dominio.Negocio;

public partial class CalendarioLaboral : System.Web.UI.Page
{
    Edificio_BLL listEdificios = new Edificio_BLL();


    protected void Page_Load(object sender, EventArgs e)
    {

       Image banner = (Image)(Master.FindControl("Image1"));
        banner.ImageUrl = "Http://"+ Server.MachineName + ".igrupobbva/Glu/logo.jpg";

        HyperLink link = (HyperLink)(Master.FindControl("HyperLink1"));
        link.NavigateUrl = "Http://intraopplus.igrupobbva/Glu/default.aspx";

        if (!IsPostBack)
        {   //Fijamos el año que marca el calendario
            lblAno.Text = DateTime.Now.Year.ToString();
            this.CalenderVacaciones.AsignarAnyo( DateTime.Now.Year);
            //Cargamos la localidades
            lstOficina.DataSource = listEdificios.ListaEdificios();
            lstOficina.DataTextField = "Localidad";
            lstOficina.DataValueField = "IdEdificio";
            lstOficina.DataBind();
            lstAmbito.SelectedIndex = 0;
            lstOficina.Enabled = false;
            
            CalenderVacaciones.UpdatePaneles(int.Parse(lstAmbito.SelectedValue.ToString()));
        }
        
    }

    protected void imgBtnSiguiente_Click(object sender, ImageClickEventArgs e)
    {
        CambiaAnyo(1);
    }

    protected void imgBtnAnterior_Click(object sender, ImageClickEventArgs e)
    {
        CambiaAnyo(-1);
    }

    protected void lstOficina_SelectedIndexChanged(object sender, EventArgs e)
    {
        CalenderVacaciones.UpdatePaneles(int.Parse(lstOficina.SelectedValue.ToString()), int.Parse(lstAmbito.SelectedValue.ToString()));
    }

    protected void btnHorarioVerano_Click(object sender, EventArgs e)
    {
        lstAmbito.SelectedIndex = 0;
        lstOficina.SelectedIndex = 0;

        if ((lstAmbito.Enabled == false) && (lstOficina.Enabled == false))
        {
            lstAmbito.Enabled = true;
            lstOficina.Enabled = false;
            CalenderVacaciones.CambiarEstadoEdicion(ActivarEdicion.Festivos);
        }
        else 
        {
            lstAmbito.Enabled = false;
            lstOficina.Enabled = false;
            CalenderVacaciones.CambiarEstadoEdicion(ActivarEdicion.JornadaVerano);
        }
    }
   
    protected void btnCerrarMesAsistencia_Click(object sender, EventArgs e)
    {

        ////configuramos el boton de bloqueo de vacaciones
        //taParametros.Fill(dtParametros);

        //if (DateTime.Today > DateTime.Parse(dtParametros.Rows[0]["FechaCerrado"].ToString()))
        //{
        //    btnCerrarMesAsistencia.Text = "Desbloquear";
        //}
        //else
        //{
        //    btnCerrarMesAsistencia.Text = "Bloquear";
        //}





/*        taParametros.Update(DateTime.Now);

        lblMotivo.Text = "Mes cerrado correctamente";
        pnlPopUpOKMesCerrado.Style.Remove("display");

        UpdatePanelAsistencia.Update();*/

    }


    protected void btnAbrirMesAsistencia_Click(object sender, EventArgs e)
    {
       /* if (DateTime.Now.Month > 1)
        {
            taParametros.Update(DateTime.Parse("01/" + (DateTime.Now.Month - 1).ToString() + "/" + DateTime.Now.Year.ToString()));
        }
        else
        {
            taParametros.Update(DateTime.Parse("01/" + (DateTime.Now.Month + 11).ToString() + "/" + (DateTime.Now.Year -1).ToString()));
        }



        lblMotivo.Text = "Mes abierto correctamente";
        pnlPopUpOKMesCerrado.Style.Remove("display");

        UpdatePanelAsistencia.Update();*/

    }



    protected void BtnOK_Click(object sender, EventArgs e)
    {
       /* pnlPopUpOKMesCerrado.Style.Add("display", "none");

        UpdatePanelAsistencia.Update();*/
    }

    /*protected void BtnOK1_Click(object sender, EventArgs e)
    {
        PanelBloquearVacaciones.Style.Add("display", "none");

        UpdatePanelBloquearVacaciones.Update();
    }

    protected void btnBloquearVacaciones_Click(object sender, EventArgs e)
    {
        if (dtBloqueoVacaciones.Rows[0]["BloqueoVacaciones"].ToString() == "True")
        {
            taBloqueoVacaciones.Update(false);
            Label2.Text = "Solicitud de vacaciones desbloqueda";
        }
        else {
            taBloqueoVacaciones.Update(true);
        }
       
        PanelBloquearVacaciones.Style.Remove("display");
        UpdatePanelBloquearVacaciones.Update();
    }*/

    protected void lstAmbito_SelectedIndexChanged(object sender, EventArgs e)
    {

        if (lstAmbito.SelectedValue.ToString() == "1")
        { 
            CalenderVacaciones.UpdatePaneles(int.Parse(lstAmbito.SelectedValue.ToString()));
        }
        else
        {
            lstOficina.SelectedIndex = 0;
            CalenderVacaciones.UpdatePaneles(int.Parse(lstOficina.SelectedValue.ToString()), int.Parse(lstAmbito.SelectedValue.ToString()));
        }
            
        lstOficina.Enabled = !(lstAmbito.SelectedValue.ToString() == "1");
    }

    private void CambiaAnyo(int suma)
    {
        lblAno.Text = (int.Parse(lblAno.Text) + suma).ToString();
        this.CalenderVacaciones.AsignarAnyo(int.Parse(lblAno.Text));
        lstAmbito.SelectedIndex = 0;
        lstOficina.Enabled = false;
        CalenderVacaciones.UpdatePaneles(int.Parse(lstAmbito.SelectedValue.ToString()));
    }
}